/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.deployment.dao;

import br.com.deployment.daogenerico.DaoGenerico;
import br.com.deployment.entidade.protocolo.Pagamento;
import br.com.deployment.interfaces.PagamentoDaoIn;

import java.util.ArrayList;
import java.util.List;
import javax.ejb.LocalBean;
import javax.ejb.Stateless;
import javax.persistence.Query;

/**
 *
 * @author elyjr
 */

@Stateless
@LocalBean
public class PagamentoDao extends DaoGenerico<Pagamento> implements PagamentoDaoIn{
    
     public PagamentoDao(){
         super(Pagamento.class);
     }
    
     public List<Pagamento> Pesquisar(Pagamento pagamento) {
           List<Pagamento> listPag = new ArrayList<Pagamento>();
       
        if(pagamento != null){
           
             String sql = "Select p from Pagamento p where ";
             
             if(pagamento.getTitulo()!= null && pagamento.getTitulo() != ""){
                 sql += "  lower(p.titulo) like lower(?1) and"; 
             }
             if(pagamento.getDescricao()!= null && pagamento.getDescricao() != ""){
                 sql += "  lower(p.descricao) like lower(?2) and"; 
             }
              sql += " 1=1 ";
             Query query = getEm().createQuery(sql);
             if(pagamento.getTitulo()!= null && pagamento.getTitulo() != ""){
                 query.setParameter("1", "%" + pagamento.getTitulo() + "%");
             }
              if(pagamento.getDescricao()!= null && pagamento.getDescricao() != ""){
                 query.setParameter("2", "%" + pagamento.getDescricao() + "%");
             }
        
              listPag = query.getResultList();
              System.out.println(sql);
        }
        
        return listPag;
    }    
    

     
     

}